/**
 * http请求配置
 */
import axios from 'axios'
// import store from './store/index.js'
// import { Notice } from 'iview'
import Pace from 'expose-loader?pace!pace-js/pace.js';
import router from './router/index'

// 超时时间
axios.defaults.timeout = 8000
// 设置基本的请求路径
if (process.env.NODE_ENV === 'development') {
    // Fixme: 更改为soffeedesign.com在正式发布时
    // axios.defaults.baseURL =  'https://soffeedesign.com/web/'
    // axios.defaults.baseURL =  'http://sd-web.9peak.net/web/'//'http://192.168.1.106:8889/web/'
    axios.defaults.baseURL =  'http://sd-web.martin.net/web/'
} else {
    axios.defaults.baseURL = '/web/'
}
// 设置默认请求拦截器
axios.interceptors.request.use(function (config) {
  // let _token = store.getters['user/_user'] ? store.getters['user/_user'].token : null
  let _token =  null
  Pace.restart();
  // 在请求发出之前进行一些操作
    if (_token) {  // 判断是否存在token，如果存在的话，则每个http header都加上token
        config.headers.Authorization = 'Bearer ' + _token
    }
    return config
}, function (err) {
  // 请求拦截器出错
  return Promise.reject(err)
})
// 设置默认响应拦截器
axios.interceptors.response.use(function (res) {
  Pace.stop()
  // 在这里对返回的数据进行处理
  if (res.data.res === 1) { // 请求成功
    return Promise.resolve(res.data)
  } else if (res.data.res === 0) { // 请求失败（未登录，token失效等原因）
    // Notice.error({
    //   title: 'Logon Failure',
    //   desc: res.data.msg
    // })
    alert('Logon Failure')
    // 清空用户数据
    // store.dispatch('user/_Logout')

    router.push('/login')
  } else if (res.data.res === -1) { // 请求失败 （后端返回失败原因）
    // Notice.error({
    //   title: 'Operation Failed',
    //   desc: res.data.msg
    // })
    alert('Operation Failed')
    return Promise.reject(res.data)
  } else {
    if (process.env.NODE_ENV === 'development') {
      // 响应拦截器提示返回状态异常[开发模式]
      // Notice.error({
      //   title: 'The response interceptor prompts the return status exception',
      //   desc: 'Code：' + res.data.res
      // })
      alert('The response interceptor prompts the return status exception');

    }
    return Promise.reject(res)
  }
}, function (err) {
  if (process.env.NODE_ENV === 'development') {
    // 响应拦截器出错[开发模式]
    // Notice.error({
    //   title: 'The response interceptor error',
    //   desc: err
    // })
    alert('err')
  }

  return Promise.reject(err)
})
export default axios
